using UwinEducation.Application.Dtos;
using UwinEducation.Shared.Models;

namespace UwinEducation.Application.Common.Interfaces
{
    public interface ICourseService
    {
        /// <summary>
        /// 获取课程分页列表
        /// </summary>
        Task<PagedResult<CourseDto>> GetPagedListAsync(CoursePageRequest pageRequest);

        /// <summary>
        /// 获取课程详情
        /// </summary>
        Task<CourseDto> GetByIdAsync(Guid id);

        /// <summary>
        /// 创建课程
        /// </summary>
        Task<CourseDto> CreateAsync(CreateCourseDto input);

        /// <summary>
        /// 更新课程
        /// </summary>
        Task<CourseDto> UpdateAsync(UpdateCourseDto input);

        /// <summary>
        /// 删除课程
        /// </summary>
        Task DeleteAsync(Guid id);
    }
}